#ifndef SL_DirANIMATIONMANAGER_HPP
#define SL_DirANIMATIONMANAGER_HPP

// SFML Header
#include <SFML/Graphics.hpp>

// Eigene Header
#include "../System/Lua.hpp"
#include "ManagerTemplate.hpp"
#include "../Graphics/DirAnimation.hpp"

namespace sl
{
	namespace tmp
	{
		class DirAnimationManagerS : public Singleton<DirAnimationManagerS>, public ManagerPointer<DirAnimation>
		{
		friend class Singleton<DirAnimationManagerS>;
		friend class ManagerPointer<DirAnimation>;
		public:
			using Singleton<DirAnimationManagerS>::myInstance;

			static DirAnimationManagerS* GetInstance()
			{
				if (!myInstance)
					myInstance = new DirAnimationManagerS();

				return myInstance;
			}

			DirAnimationManagerS* Update(float time);
			DirAnimationManagerS* Draw(sf::RenderTexture* render);
			DirAnimationManagerS* Draw(sf::RenderTexture* render, sf::Shader& shader);
		};
	}

	#define DirAnimationManager tmp::DirAnimationManagerS::GetInstance()
}

#endif //SL_ANIMATIONMANAGER_HPP